<?php
header('content-type: text/html;charset=utf-8');

// Load configurations
if (file_exists('config.json')) {
    $config = file_get_contents('config.json');
    $config = preg_replace('/\/\*(.*)\*\//', null, $config);
    $GLOBALS['config'] = json_decode($config);
} else {
    throw new Exception('Tập tin cấu hình (config.json) không tồn tại!', 101);
}

// Define constants
define('DS', DIRECTORY_SEPARATOR);
define('ROOT', dirname(dirname(__FILE__)) . DS);
define('LIB_DIR', ROOT . 'library' . DS);
define('CONTROLLERS_DIR', ROOT . 'application' . DS . 'controllers' . DS);
define('MODELS_DIR', ROOT . 'application' . DS . 'models' . DS);
define('VIEWS_DIR', ROOT . 'application' . DS . 'views' . DS);

require_once LIB_DIR . 'shared.php';

/** Gọi các hàm khởi tạo ứng dụng */
setReporting();
removeMagicQuotes();
unregisterGlobals();

spl_autoload_register('autoLoader');

set_exception_handler('exceptionHandler');

session_start();
